﻿using Puppy.DependencyInjection;
using System.Diagnostics.CodeAnalysis;

namespace Puppy.Modularity
{
    public interface IModuleLifecycleContributor : ITransientDependency
    {
        void Initialize([NotNull] ServiceProviderAccessorContext context, [NotNull] IPuppyModule module);

        void Shutdown([NotNull] ServiceProviderAccessorContext context, [NotNull] IPuppyModule module);
    }
}
